【转载】C++编译运行多个文件形式的程序
C++编译运行多个文件形式的程序
一. 头文件和源文件的区别:
1. 从技术层面上来说,*.h文件 *.c文件 *.cpp文件没什么区别,里面放的都是C++的源代码。
2. 但从开发习惯来说,大家都遵循一个标准,那就是.h文件放声明,.cpp文件放定义(实现)。通常类声明.h文件与.cpp文件同名:如Chain.h和Chain.cpp。
3. 一般来说,头文件提供接口,源文件提供实现。但是有些实现比较简单的,也可以直接写在头文件里,这样头文件接口实现一起提供。
4. 在编译时,源文件里的实现会被编译成临时文件,运行时刻程序找到头文件里的接口,根据接口找到这些临时文件,来调用它们这些实现。
二. 如何实现编译运行多个文件:
1. 新建工程,然后添加.h头文件和.Cpp源文件到工程中,其中一个cpp文件包含主函数,编译工程时编译器就会编译所有的源文件。
2. 一个文件A使用另外一个文件B的类或者函数的时候就可以#include "B.cpp"
三.C++里包含头文件的时候用<>和“”的区别:
编译器搜索头文件的顺序不一样:
①使用“”是搜索所有目录: 表示从当前目录开始,搜索,然后是系统目录和PATH环境变量所列出的目录。
②使用<>是不搜索当前目录:
表示从系统目录下开始搜索,然后再搜索PATH环境变量所列出的目录,不搜索当前目录。
正常情况下,自行定义的头文件应该用"",因为这些文件放在工程目录(也就是编译器的当前目录)下,而不是放在公共头文件目录下,如果用<>则找不到头文件。而系统提供的头文件,比如库函数的头文件,可以用<>。
*:所以,系统提供的头文件一般用<>,用户自己定义的则使用""。